/*    */ package com.zimbra.cs.service;
/*    */ 
/*    */ import com.google.common.base.Strings;
/*    */ import com.zimbra.common.auth.ZAuthToken;
/*    */ import com.zimbra.common.service.ServiceException;
/*    */ import com.zimbra.common.soap.Element;
/*    */ import com.zimbra.cs.account.Account;
/*    */ import com.zimbra.cs.account.AuthToken;
/*    */ import com.zimbra.cs.account.AuthTokenException;
/*    */ import java.util.Map;
/*    */ import javax.servlet.http.HttpServletRequest;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public class ZimbraOAuthProvider
/*    */   extends ZimbraAuthProvider
/*    */ {
/*    */   public static final String ZIMBRA_OAUTH_PROVIDER = "oauth";
/*    */   public static final String OAUTH_ACCESS_TOKEN = "access_token";
/*    */   
/*    */   protected ZimbraOAuthProvider()
/*    */   {
/* 44 */     super("oauth");
/*    */   }
/*    */   
/*    */   protected AuthToken authToken(HttpServletRequest req, boolean isAdminReq)
/*    */     throws AuthProviderException, AuthTokenException
/*    */   {
/* 50 */     return null;
/*    */   }
/*    */   
/*    */   protected AuthToken authToken(Element soapCtxt, Map engineCtxt)
/*    */     throws AuthProviderException, AuthTokenException
/*    */   {
/* 56 */     return null;
/*    */   }
/*    */   
/*    */   protected AuthToken authToken(Element authTokenElem, Account acct) throws AuthProviderException, AuthTokenException
/*    */   {
/*    */     ZAuthToken zAuthToken;
/*    */     try
/*    */     {
/* 64 */       zAuthToken = new ZAuthToken(authTokenElem, false);
/*    */     } catch (ServiceException e) {
/* 66 */       throw AuthProviderException.FAILURE(e.getMessage());
/*    */     }
/*    */     
/* 69 */     if ("oauth".equals(zAuthToken.getType())) {
/* 70 */       Map<String, String> attrs = zAuthToken.getAttrs();
/*    */       
/*    */ 
/* 73 */       String accessToken = (String)attrs.get("access_token");
/* 74 */       if (Strings.isNullOrEmpty(accessToken)) {
/* 75 */         throw new AuthTokenException("no oauth access token");
/*    */       }
/*    */       
/* 78 */       return authToken(acct);
/*    */     }
/* 80 */     throw AuthProviderException.NO_AUTH_DATA();
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/service/ZimbraOAuthProvider.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */